package com.example.xiaoming.util;

/**
 * 版权：wxj公司 版权所有
 *
 * @author ：wxj
 * 版本：1.01080478
 * 创建日期：2021/7/1 if
 * 包名：com.example.xiaoming.util
 * 类名：xiaoming
 * 加密：switch
 * 描述：
 */
public class HidConsts {

    public final static String NAME = "HID Device Testapp";

    public final static String DESCRIPTION = "";

    public final static String PROVIDER = "Codeaurora";

    /* @formatter:off */
    public final static byte[] DESCRIPTOR = {
            (byte) 0x05, (byte) 0x01,                    // USAGE_PAGE (Generic Desktop)
            (byte) 0x09, (byte) 0x02,                    // USAGE (Mouse)
            (byte) 0xa1, (byte) 0x01,                    // COLLECTION (Application)
            (byte) 0x09, (byte) 0x01,                    //   USAGE (Pointer)
            (byte) 0xa1, (byte) 0x00,                    //   COLLECTION (Physical)
            (byte) 0x85, (byte) 0x02,                    //     REPORT_ID (2)
            (byte) 0x05, (byte) 0x09,                    //     USAGE_PAGE (Button)
            (byte) 0x19, (byte) 0x01,                    //     USAGE_MINIMUM (Button 1)
            (byte) 0x29, (byte) 0x03,                    //     USAGE_MAXIMUM (Button 3)
            (byte) 0x15, (byte) 0x00,                    //     LOGICAL_MINIMUM (0)
            (byte) 0x25, (byte) 0x01,                    //     LOGICAL_MAXIMUM (1)
            (byte) 0x95, (byte) 0x03,                    //     REPORT_COUNT (3)
            (byte) 0x75, (byte) 0x01,                    //     REPORT_SIZE (1)
            (byte) 0x81, (byte) 0x02,                    //     INPUT (Data,Var,Abs)
            (byte) 0x95, (byte) 0x01,                    //     REPORT_COUNT (1)
            (byte) 0x75, (byte) 0x05,                    //     REPORT_SIZE (5)
            (byte) 0x81, (byte) 0x03,                    //     INPUT (Cnst,Var,Abs)
            (byte) 0x05, (byte) 0x01,                    //     USAGE_PAGE (Generic Desktop)
            (byte) 0x09, (byte) 0x30,                    //     USAGE (X)
            (byte) 0x09, (byte) 0x31,                    //     USAGE (Y)
            (byte) 0x15, (byte) 0x81,                    //     LOGICAL_MINIMUM (-127)
            (byte) 0x25, (byte) 0x7f,                    //     LOGICAL_MAXIMUM (127)
            (byte) 0x75, (byte) 0x08,                    //     REPORT_SIZE (8)
            (byte) 0x95, (byte) 0x02,                    //     REPORT_COUNT (2)
            (byte) 0x81, (byte) 0x06,                    //     INPUT (Data,Var,Rel)
            (byte) 0x09, (byte) 0x38,                    //     USAGE (Wheel)
            (byte) 0x15, (byte) 0x81,                    //     LOGICAL_MINIMUM (-127)
            (byte) 0x25, (byte) 0x7f,                    //     LOGICAL_MAXIMUM (127)
            (byte) 0x75, (byte) 0x08,                    //     REPORT_SIZE (8)
            (byte) 0x95, (byte) 0x01,                    //     REPORT_COUNT (1)
            (byte) 0x81, (byte) 0x06,                    //     INPUT (Data,Var,Rel)
            (byte) 0xc0,                                 //   END_COLLECTION
            (byte) 0xc0,                                 // END_COLLECTION

            // battery strength
            (byte) 0x05, (byte) 0x0c,
            (byte) 0x09, (byte) 0x01,
            (byte) 0xa1, (byte) 0x01,
            (byte) 0x85, (byte) 0x20,                    //   REPORT_ID (32)
            (byte) 0x05, (byte) 0x01,
            (byte) 0x09, (byte) 0x06,
            (byte) 0xa1, (byte) 0x02,
            (byte) 0x05, (byte) 0x06,                    // USAGE_PAGE (Generic Device Controls)
            (byte) 0x09, (byte) 0x20,                    // USAGE (Battery Strength)
            (byte) 0x15, (byte) 0x00,                    // LOGICAL_MINIMUM (0)
            (byte) 0x26, (byte) 0xff, (byte) 0x00,      // LOGICAL_MAXIMUM (100)
            (byte) 0x75, (byte) 0x08,                    // REPORT_SIZE (8)
            (byte) 0x95, (byte) 0x01,                    // REPORT_COUNT (1)
            (byte) 0x81, (byte) 0x02,                    // INPUT (Data,Var,Abs)
            (byte) 0xc0,
            (byte) 0xc0,

            (byte) 0x05, (byte) 0x01,                    // USAGE_PAGE (Generic Desktop)
            (byte) 0x09, (byte) 0x06,                    // USAGE (Keyboard)
            (byte) 0xa1, (byte) 0x01,                    // COLLECTION (Application)
            (byte) 0x85, (byte) 0x01,                    //   REPORT_ID (1)
            (byte) 0x05, (byte) 0x07,                    //   USAGE_PAGE (Keyboard)
            (byte) 0x19, (byte) 0xe0,                    //   USAGE_MINIMUM (Keyboard LeftControl)
            (byte) 0x29, (byte) 0xe7,                    //   USAGE_MAXIMUM (Keyboard Right GUI)
            (byte) 0x15, (byte) 0x00,                    //   LOGICAL_MINIMUM (0)
            (byte) 0x25, (byte) 0x01,                    //   LOGICAL_MAXIMUM (1)
            (byte) 0x75, (byte) 0x01,                    //   REPORT_SIZE (1)
            (byte) 0x95, (byte) 0x08,                    //   REPORT_COUNT (8)
            (byte) 0x81, (byte) 0x02,                    //   INPUT (Data,Var,Abs)
            (byte) 0x05, (byte) 0x0c,                    //   USAGE_PAGE (Consumer Devices)
            (byte) 0x15, (byte) 0x00,                    //   LOGICAL_MINIMUM (0)
            (byte) 0x25, (byte) 0x01,                    //   LOGICAL_MAXIMUM (1)
            (byte) 0x95, (byte) 0x07,                    //   REPORT_COUNT (7)
            (byte) 0x75, (byte) 0x01,                    //   REPORT_SIZE (1)
            (byte) 0x09, (byte) 0xb6,                    //   USAGE (Scan Previous Track)
            (byte) 0x09, (byte) 0xb5,                    //   USAGE (Scan Next Track)
            (byte) 0x09, (byte) 0xb7,                    //   USAGE (Stop)
            (byte) 0x09, (byte) 0xcd,                    //   USAGE (Play/Pause)
            (byte) 0x09, (byte) 0xe2,                    //   USAGE (Mute)
            (byte) 0x09, (byte) 0xe9,                    //   USAGE (Volume Up)
            (byte) 0x09, (byte) 0xea,                    //   USAGE (Volume Down)
            (byte) 0x81, (byte) 0x02,                    //   INPUT (Data,Var,Abs)
            (byte) 0x95, (byte) 0x01,                    //   REPORT_COUNT (1)
            (byte) 0x75, (byte) 0x01,                    //   REPORT_SIZE (1)
            (byte) 0x81, (byte) 0x03,                    //   INPUT (Constant,Var,Abs)
            (byte) 0x05, (byte) 0x07,                    //   USAGE_PAGE (Keyboard)
            (byte) 0x95, (byte) 0x05,                    //   REPORT_COUNT (5)
            (byte) 0x75, (byte) 0x01,                    //   REPORT_SIZE (1)
            (byte) 0x85, (byte) 0x01,                    //   REPORT_ID (1)
            (byte) 0x05, (byte) 0x08,                    //   USAGE_PAGE (LEDs)
            (byte) 0x19, (byte) 0x01,                    //   USAGE_MINIMUM (Num Lock)
            (byte) 0x29, (byte) 0x05,                    //   USAGE_MAXIMUM (Kana)
            (byte) 0x91, (byte) 0x02,                    //   OUTPUT (Data,Var,Abs)
            (byte) 0x95, (byte) 0x01,                    //   REPORT_COUNT (1)
            (byte) 0x75, (byte) 0x03,                    //   REPORT_SIZE (3)
            (byte) 0x91, (byte) 0x03,                    //   OUTPUT (Cnst,Var,Abs)
            (byte) 0x95, (byte) 0x06,                    //   REPORT_COUNT (6)
            (byte) 0x75, (byte) 0x08,};                   //   REPORT_SIZE (8)
}